"use strict";
function addNum(x, y, z) {
    // 任何数字加undefined = NAN
    // 可选参数不能写到必选参数的前面,可选参数的后面不允许在出现参数
    return x + y + (z || 0);
}
console.log(addNum(1, 2));
// 当参数有默认参数的时候 如果有实参 ，默认使用实参，如果没有实参，使用默认值
function addNum1(x, y = 1, z) {
    return x + y + z;
}
console.log(addNum1(1, 4, 3)); // 2
// 剩余参数
function add(...arg) {
    console.log(arg);
    let sum = 0;
    for (var i = 0; i < arg.length; i++) {
        sum += arg[i];
    }
    return sum;
}
console.log(add(1, 2, 3, 4, 5, 6));
console.log(add(1, 2));
// 你定义的这个函数 必须满足以上所有的条件
// 当我们多次一定一个相同函数  在函数实现的时候 必须包含函数定义的所有类型
function getUser(str) {
    if (typeof str === 'string') {
        return '我的名字' + str;
    }
    else if (typeof str === 'boolean') {
        return '我是布尔值' + str;
    }
    else {
        return str;
    }
}
console.log(getUser('张三'));
console.log(getUser(18));
console.log(getUser(true));
function getUser1(name, age) {
    if (age) {
        return '我的名字' + name + '多大' + age;
    }
    else {
        return '我的名字' + name + '多大保密';
    }
}
console.log(getUser1('小明'));
console.log(getUser1('小明', 10));
